/**
 * 
 */
package fr.afcepf.al.qualite.exception;



/**
 * Classe d'exception.
 * @author stagiaire
 *@see
 */
public class QualiteException extends Exception{

    /**
     * Serial version.
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * Enumeration des codes d'erreur.
     *
     */
    
    private static enum ErrorCode{
        /**
         * lors de l'enregistreent de l'utilisateur
         */
        MAIL_EXISTE, 
        /**
         * lors du passage de la commande
         */
        COMMANDE_INVALIDE}; 
        
    /**
     * Code d'erreur de l'exception                              
     */
    private ErrorCode code;

    /**
     * Default constructor.
     */
    public QualiteException() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage message.
     * @param paramCause cause.
     * @param paramEnableSuppression
     * @param paramWritableStackTrace
     */
    public QualiteException(String paramMessage, Throwable paramCause,
            boolean paramEnableSuppression, boolean paramWritableStackTrace) {
        super(paramMessage, paramCause, paramEnableSuppression, paramWritableStackTrace);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage message.
     * @param paramCause cause.
     */
    public QualiteException(String paramMessage, Throwable paramCause) {
        super(paramMessage, paramCause);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramMessage message.
     */
    public QualiteException(String paramMessage) {
        super(paramMessage);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param paramCause cause.
     */
    public QualiteException(Throwable paramCause) {
        super(paramCause);
        // TODO Auto-generated constructor stub
    }

    /**
     * @return the code
     */
    public ErrorCode getCode() {
        return code;
    }

    /**
     * @param paramCode the code to set
     */
    public void setCode(ErrorCode paramCode) {
        code = paramCode;
    }
    
    
    

}
